package com.gyc.simple.common.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


public class UploadUtils {
    /**
     * @param file 上传文件
     * @param dir   文件保存目录
     * @param fileNewName   新的文件名
     * @param suffix    文件允许的后缀以"."分割
     * @return true保存成功
     */
    public static Boolean saveFile(MultipartFile file, String dir, String fileNewName, String suffix){
        //判断后缀是否是允许的
        List list = Arrays.asList(suffix.split("\\."));
        Set<String> suffixSet = new HashSet<>(list);
        String curSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
        if(!suffixSet.contains(curSuffix)){
            return false;
        }
        //判断目录是否存在  不存在则创建
        File filedir = new File(dir);
        if(!filedir.exists()){
            filedir.mkdirs();
        }
        //创建保存文件并写入数据
        File dest = new File(dir+"\\"+fileNewName);
        try{
            file.transferTo(dest);
            return true;
        }catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }
}
